package com.bluesky.plum.uimodels.standard.components.listbox;

import java.util.List;

import com.bluesky.plum.uimodels.standard.components.EventListener;

public interface Selector<T> {
	public interface ObjectEqualor {
		boolean equals(Object obj1, Object obj2);
	}
	
	
	void setObjects(List<T> objects);
	List<T> getObjects();
	
	void setObjectEqualor(ObjectEqualor objectEqualor);
	
	int getSelectedIndex();

	void setSelectedIndex(int index);

	int[] getSelectedIndices();

	void setSelectedIndices(int[] indices);

	T getSelectedValue();

	T[] getSelectedValues();

	void setSelectedValue(T value);

	void setSelectedValues(T[] values);

	SelectionMode getSelectionMode();

	void setSelectionMode(SelectionMode selectionMode);

	EventListener getSelectChangeListener();

	void setSelectChangeListener(EventListener selectChangeListener);

	
	
}
